1. Field of the Invention
This invention relates generally to interpolation filters and more particularly, it relates to an improved non-integer CIC interpolation filter for use in sigma-delta digital-to-analog systems, which realizes non-integer interpolation but eliminates the need for coupling of the integrators in the output domain.
2. Description of the Prior Art
Over the past decade or more, the use of digital technology in the portable audio industry has become very widespread. In the case of a system where a universal serial bus (USB) is used, the popular choice of the master clock frequency is 12 MHz since it can be used to generate many audio sample rates by integer divisions. For example, the audio sampling rate of 48 kHz can be easily obtained by dividing the 12 MHz master clock frequency by 250 or the sampling rate of 44.1 kHz can be obtained by dividing the 12 MHz frequency by 272 (which is not exact, but has a 0.04% deviation).
However, the variable ratios between the master clock frequency and the audio sampling rate frequently require interpolation filters to support multiple interpolation ratios, which may not be an integer as in the case of normal systems using a standard 12.288 MHz audio master clock frequency. For instance, in the normal system where the modulator of a sigma-delta digital-to-analog converter (DAC) system is assumed to operate at one-half of a master clock having a frequency of 12.288 MHz so as to lower power consumption without sacrificing performance, the input sample rate of 96 kHz is easily converted or upsampled by 64 in order to obtain the 6.144 MHz sample rate at the modulator. On the other hand, in the case of the USB system the master clock has a frequency of 12 MHz. Therefore, the input sample rate of 96 kHz cannot be easily converted or upsampled to 6 MHz since this requires multiplying by a non-integer ratio of 125/2 or 62.5.
For discussion purposes, as is illustrated in FIG. 1, the front-end portion of a conventional sigma-delta digital-to-analog converter system 10 includes an interpolation filter 12 that increases the sampling rate of a digital input signal (i.e., a low-rate 24-bit input signal) by a predetermined upsampling ratio (i.e., 4) to a high sampling rate and that has a good anti-aliasing performance so as to reject images that occur at approximately the Nyquist rate of the input signal. The higher rate digital signal is then transmitted to a sample/hold block 14 having an output that is fed to a high-rate sigma-delta modulator 16 which shapes quantization noise out of the input signal band and reduces the sample to a 4-bit output signal.
In this particular configuration, the interpolation filter 12 effectively pushes aliases of the input signal to around 4-fs and beyond so that a substantial amount of the noise power is translated to frequency bands well above the signal band of interest. The sample/hold block 14 is used to upsample the output of the interpolation filter to the rate at which the modulator operates and provides additional attenuation to the aliases. The amounts of attenuation required on the aliases at around and above 4-fs are relatively low due to the high pass filtering of the quantization noise in the sigma-delta modulator 16.
As can be seen from FIG. 1, in the normal system where the 12.288 MHz master clock frequency is available, the sample/hold block 14 outputs each input sample 32 times. However, in the USB system with an input sample rate of 48 kHz for a 12 MHz master clock frequency and after the upsample of 4 by the interpolation filter 12, there is required a non-integer sample/hold ratio of 125/4 or 31.25 in order to obtain a 6 MHz sampling rate at the modulator. This non-integer sample/hold ratio creates undesirable tones which are very close to the signal band of interest.
Cascaded integrator-comb (CIC) filter arrangements are widely used in multi-rate signal processing systems for interpolation in which the ratios are integers. However, there are presented problems with requirements of high rate intermediate clock at the upsampled sample domain with the traditional CIC filter arrangements when the ratios are non-integers.
CIC filters consisting of a cascade of ideal integrator stages operating at a high sampling rate and an equal number of comb stages operating at a low sampling rate are discussed in E. B. Hogenauer, “An economical class of digital filters for decimation and interpolation,” IEEE Trans. Acoust. Speech, Signal Processing, vol. ASSP-29, pp. 155-162, April 1981.
Time-varying CIC filters for fractional sample-rate conversion (SRC) are discussed in a text book authored by T. Hentschel, “Sample Rate Conversion in Software Configurable Radios,” pages 197-204, Norwood, Mass.: Artech House, 2002. The structure for such a time-variant CIC filter in Hentschel is depicted in FIG. 2 and has been labeled “Prior Art”. This approach utilizes a conventional CIC filter in the upsampled domain and then derives an equivalent structure in the output domain. As a result, each and every one of the integrators operating at the output sampling rate Fout requires corrections from all of the integrators preceding it. Thus, this implementation in FIG. 2 is quite complicated.
Accordingly, it would be desirable to provide an improved non-integer CIC interpolation filter, which eliminates the need for coupling the integrators in the output domain. It would also be expedient that the CIC interpolation filter provides more attenuation to all of the aliases of the input signal.